1
超越冻结:异步的必要性
AI020Lesson 9
00:00

Web 应用开发中的根本瓶颈在于 同步执行 I/O 操作。当脚本执行同步请求时,会将浏览器主线程绑定到网络固有的延迟上,造成‘停机’(Stop-the-World)的情况。

1. 阻塞问题

同步请求(使用 false 标志位在 XMLHttpRequest.open)会劫持浏览器线程。这会阻止所有用户交互、动画和渲染,直到服务器响应为止。对用户而言,标签页看起来像是被冻结了。

用户界面操作冻结状态响应

2. 逻辑分歧

从“超越冻结”过渡,需要从线性模型转向一种 异步风格。虽然同步编程遵循严格的自上而下的顺序,但异步性依赖于 事件处理器 来感知数据何时到达,从而允许脚本立即继续执行。

3. 用户界面响应性的要求

现代项目需求要求在不冻结文档用户界面的情况下处理文件读取或数据获取。这确保了即使在复杂的远程操作期间,光标依然活跃,按钮也始终可点击。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>